package com.algorithm;

import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

/**
 * 校验括号
 */
public class ValidParentheses {

    public static boolean isValid(String s) {
        //构造括号对
        Map<String,String> map=new HashMap<String, String>();
        map.put("[","]");
        map.put("{","}");
        map.put("(",")");
        Stack<String> stack=new Stack<String>();
        for (char c : s.toCharArray()) {
            if (map.keySet().contains(String.valueOf(c))){
                stack.add(map.get(String.valueOf(c)));

            }else {
                if (stack.empty()||(!stack.pop().equals(String.valueOf(c)))){
                    return false;
                }
            }
        }
        if (!stack.empty()){
            return false;
        }
        return true;
    }

    public static void main(String[] args) {
        String s="{}[]()";
//        String s="{(})";
//        String s="}";
        System.out.println(isValid(s));
    }
}
